1. Field of the Invention
In general, the present invention relates to a method, system and program product for caching data objects. Specifically, the present invention utilizes acceptable collaborative data age to reduce the costs associated with latency in delivering shared data by optimizing data caching operations.
2. Related Art
As the use of computer technology grows, collaborative applications are becoming more pervasive. For example, electronic mail applications, portal pages, etc. all utilize data that are intentionally shared among multiple users. As known, a portal page is generated at a web “portal” server by portal server software (e.g., WebSphere Portal Server, which is commercially available from International Business Machines Corp. of Armonk, N.Y.). A portal page typically includes sections or visual portlets that each contain certain content formatted according to a user's preferences. For example, a user could establish his/her own portal page that has sections for news, weather and sports. When the portal page is requested, the portal server would obtain the desired content from the appropriate content providers. Once obtained, the content would be aggregated for display in the appropriate sections as a portal web page. This portal technology has lead to the explosion of personalized “home” pages for individual web users.
Unfortunately, as convenient as data sharing can be, there is often a latency involved in rendering views or web pages that utilize shared data. For example, if a user requests a portal page, the portal program on the portal server will obtain and aggregate the necessary content. However, since many users might be requesting the same data at the same time and it can be distributed across several disparate systems and data stores, delays can be exhibited. Specifically, many such operations are performed synchronously with the requesting users competing for CPU time, disk and memory access, etc. Given the average salary of a “knowledge” worker can be $75,000/year or $37.50/hour, 10 seconds spent waiting for data costs approximately 10 cents. If there are 4000 “waits” (e.g., 200 users wait for 20 10-second operations) on a given server each day, it costs approximately $4000 per day, $20,000 per week or $1,040,000 per year for a single server. Such costs can greatly affect the underlying business.
In view of the foregoing, there exists a need for a method, system and program product for caching data objects. Specifically, a need exists for a system that can leverage data object caching so that latency in data delivery is minimized or eliminated. A further need exists for the caching of data objects to be controlled by refresh and discard rules so that the cache is continually optimized.